import Alert from './alert.vue'
import Vue from 'vue'

Alert.newInstance = properties => {
  const props = properties || {}

  // 构建一个alert实例, vdom
  const Instance = new Vue({
    data: props,
    render(h) {
      return h(Alert, {
        props
      })
    }
  })

  const component = Instance.$mount() // mount实例
  document.body.appendChild(component.$el) // 实例在$el上，body永久挂载

  const alert = Instance.$children[0] // alert实例对象，  vue下的$children list里

  // 最终返回操作方法
  return {
    add(notice) {
      alert.add(notice)
    },
    remove(name) {
      alert.remove(name)
    }
  }
}

export default Alert
